Spring 解体新書 第 2 版
名称? : 後悔しないための Spring Boot 入門書 : Spring 解体新書 (第 2 版) : Spring Boot が丸分かり Spring 解体新書
https://m.media-amazon.com/images/I/51WywNmQaUL._SY346_.jpg
感想
『Java を使うプロジェクトでは Spring Boot を必ず使います』 とか書かれてるが、この本は大丈夫か?? 全体的に趣味プログラマー向けというレベルの内容、プロの開発者にはあまり役に立たない
一通り、web アプリケーション開発に必要な機能と使い方を紹介します、というレベル
あくまでひとつのやり方を紹介しているだけなので、説明内容にあまり価値はない
Spring がどういう機能を提供しているかというのを知れるという点では価値があるが、その内容もあまり褒めらえたものではない
Spring の全体像の説明がほとんどないし、紹介される機能が Spring のどのプロジェクトのものなのかもわからないことが多い
本書で使われているバージョン
バージョン
Spring 5 系
Spring Boot 2.4.1
データベース : H2
1 章 Spring の概要
2 章 開発環境の構築
本書で使用するライブラリ
開発ツール
SQL
テンプレートエンジン
Web
3 章 Hello World … 簡単なサンプル
Eclipse で実行するには、メニューの 「実行」 から 「Spring Boot アプリケーション」 を選択
以下のプロパティを設定することで起動時に DB を初期化
code:application.properties
spring.datasource.initialize=true
spring.datasource.scheme=classpath:scheme.sql
spring.datasource.data=classpath:data.sql
nobuoka.icon Spring Boot 2.3 では spring.datasource.initialize は使えなくなっていて、代わりに spring.datasource.initialization-mode を使うっぽい
@Repository アノテーションと JdbcTemplate
nobuoka.icon 本書では 『DB 操作を表すリポジトリには @Repository アノテーションを付けます』 って書かれているが、理由がなくて片手落ち感
4 章 Web アプリケーションの概要
5 章 Dependency Injection (依存性の注入)
6 章 バインド & バリデーション (入力チェック)
Thymeleaf の中から直接 messages.properties の中の値を参照してるっぽいが、これはどういう機構なんだろ バインドする Java クラスは Model に登録
Thymeleaf では th:field を使用
バリデーション
BindingResult でエラーが起きたか判断
@GroupSequence アノテーションでバリデーションの順番を制御
th:errors でエラーメッセージを取得できる、th:errorclass でエラー時の CSS クラスを追加
7 章 画面レイアウト
layout:replace でレイアウト (タグを丸ごと入れ替える)
layout:fragment というのもある (タグの中に追加する)
8 章 MyBatis
@Mapper アノテーション
Spring におけるトランザクションの管理
2 種類
明示的トランザクション
宣言的トランザクション
9 章 AOP
10 章 エラー処理
2 種類のエラー画面
共通エラー画面
HTTP エラーごとのエラー画面
11 章 Spring セキュリティ
12 章 REST
13 章 Spring Data JPA